home *** CD-ROM | disk | FTP | other *** search
- /*
- * modify.c
- *
- * Changes map database from text to binary.
- */
-
- #include <stdio.h>
- #include <stdlib.h>
-
- main(argc, argv)
- int argc;
- char *argv[];
- {
- FILE *fpi, *fpo;
- int lat_deg, lat_min, lon_deg, lon_min, lat, lon, code;
- char type[80];
-
- if (argc != 3) {
- printf("Usage: modify input.asc output.pnt\n");
- exit(1);
- }
-
- if ((fpi = fopen(argv[1], "r")) == (FILE *)NULL) {
- printf("\007Error: Can't locate Database '%s'\n", argv[1]);
- exit(1);
- }
-
- if ((fpo = fopen(argv[2], "wb")) == (FILE *)NULL) {
- printf("\007Error: Can't create Database '%s'\n", argv[2]);
- exit(1);
- }
-
- for (;;) {
- if (fgets(type, sizeof type, fpi) == NULL)
- break;
-
- /*
- * Skip comments and blank lines
- */
-
- if ((type[0] == '#') || (type[0] == '\0'))
- continue;
-
- sscanf(type, "%d, %d.%d, %d.%d\n",
- &code, &lat_deg, &lat_min, &lon_deg, &lon_min);
-
- lat = (lat_deg * 60) + lat_min;
- lon = (lon_deg * 60) + lon_min;
-
- fwrite(&code, sizeof(int), 1, fpo);
- fwrite(&lat, sizeof(int), 1, fpo);
- fwrite(&lon, sizeof(int), 1, fpo);
- }
-
- fclose(fpi);
- fclose(fpo);
-
- exit(0);
- }